<HTML>
<HEAD>
<TITLE>
DatoIndice.h
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="green">/*
 * DatoIndice.h
 *
 *  Created on: 14/10/2009
 *      Author: andres
 */</font>

<font color="blue">#ifndef</font> DATOINDICE_H_
<font color="blue">#define</font> DATOINDICE_H_

<font color="blue">#include</font> <font color="maroon">"../../classes/PrimaryKey.h"</font>
<font color="blue">#include</font> <font color="maroon">"../../classes/SecondaryKey.h"</font>
<font color="blue">#include</font> <font color="maroon">&#60;stdlib.h&#62;</font>
<font color="blue">#include</font> <font color="maroon">&#60;string.h&#62;</font>

<font color="blue">class</font> DatoIndice
<font color="black">{</font>
<font color="blue">public</font><font color="black">:</font>
    DatoIndice<font color="black">(</font>SecondaryKey <font color="black">*</font>secondaryKey, PrimaryKey <font color="black">*</font>PrimaryKey<font color="black">)</font>;
    <font color="green">/*
     * Devuelve un dato para poner en el indice
     * a partir de el dato dado
     * el tamanio es el estandar del indice
     */</font>
    <font color="blue">char</font><font color="black">*</font> GetDato<font color="black">(</font><font color="blue">char</font><font color="black">*</font> dato,<font color="blue">unsigned</font>  <font color="blue">int</font> id<font color="black">)</font>;

    <font color="green">/*
     * compara la clavebuscada con la de la informacion
     */</font>
    <font color="blue">int</font> CompararClave<font color="black">(</font><font color="blue">const</font> <font color="blue">char</font><font color="black">*</font> clave,<font color="blue">int</font> tamanio, <font color="blue">char</font><font color="black">*</font> InformacionIndexada<font color="black">)</font>;

    <font color="green">/*
     * compara las claves de las dos informaciones del indice
     */</font>
    <font color="blue">int</font> CompararClave<font color="black">(</font><font color="blue">char</font><font color="black">*</font> InformacionBuscada, <font color="blue">char</font><font color="black">*</font> InformacionIndexada<font color="black">)</font>;

    <font color="green">/*
     * compara las claves primarias
     */</font>
    <font color="blue">int</font> CompararID<font color="black">(</font><font color="blue">char</font><font color="black">*</font> InformacionBuscada, <font color="blue">char</font><font color="black">*</font> InformacionIndexada<font color="black">)</font>;

    <font color="green">/*
     * compara las ID
     */</font>
    <font color="green">//int CompararID(unsigned int IdBuscado,unsigned int IdIndexado);</font>

    <font color="blue">unsigned</font> <font color="blue">int</font> GetID<font color="black">(</font><font color="blue">char</font><font color="black">*</font> informacion<font color="black">)</font>;

    <font color="blue">char</font><font color="black">*</font> GetClavePrimaria<font color="black">(</font><font color="blue">char</font><font color="black">*</font> informacion<font color="black">)</font>;

    virtual ~DatoIndice<font color="black">(</font><font color="black">)</font>;

<font color="blue">private</font><font color="black">:</font>

    <font color="blue">bool</font> EsPrimario<font color="black">(</font><font color="black">)</font>;
    <font color="blue">int</font> GetTamanioClave<font color="black">(</font><font color="black">)</font>;
    <font color="blue">int</font> GetTamanioID<font color="black">(</font><font color="black">)</font>;
    Key<font color="black">*</font> GetKey<font color="black">(</font><font color="black">)</font>;
    <font color="blue">void</font> CargaClave<font color="black">(</font><font color="blue">char</font><font color="black">*</font> destino, <font color="blue">char</font><font color="black">*</font> informacion<font color="black">)</font>;
    <font color="blue">void</font> CargarID<font color="black">(</font><font color="blue">char</font><font color="black">*</font> destino, <font color="blue">char</font><font color="black">*</font> informacion, <font color="blue">unsigned</font> <font color="blue">int</font> id<font color="black">)</font>;


    SecondaryKey <font color="black">*</font>secondaryKey;
    PrimaryKey <font color="black">*</font>primaryKey;
<font color="black">}</font>;

<font color="blue">#endif</font> <font color="green">/* DATOINDICE_H_ */</font>

</PRE>
</BODY>
</HTML>
